package com.twd.allcomponent.i18n.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.twd.allcomponent.i18n.entity.LocaleLanguage;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

@Mapper
public interface I18nMessageMapper extends BaseMapper<LocaleLanguage> {
//    @Autowired
//    private ISysLocaleMessageService localeMessageService;
//
//    private final String COMMON_CONFIG = "common";
//
//    // 这里不能返回List，因为无法序列化，会导致Dubbo异常，所以使用Map
//    @Override
//    public Map<String, Map<String, String>> getAllLocaleMessage(String module) {
//        // 每个module对应的配置
//        SysLocaleMessage localeMessage = new SysLocaleMessage();
//        localeMessage.setModule(module);
//        List<SysLocaleMessage> list = localeMessageService.queryByParam(localeMessage);
//        if (list == null) {
//            list = new ArrayList<>();
//        }
//        // 公共配置
//        localeMessage = new SysLocaleMessage();
//        localeMessage.setModule(COMMON_CONFIG);
//        list.addAll(localeMessageService.queryByParam(localeMessage));
//        if (CollectionUtils.isEmpty(list)) {
//            return RpcResult.fail("no data!");
//        }
//
//        Map<String, Map<String, String>> localeMsgMap = list.stream().collect(Collectors.groupingBy(
//                // 根据国家地区分组
//                SysLocaleMessage::getLocale,
//                // 收集为Map,key为code,msg为信息
//                Collectors.toMap(SysLocaleMessage::getCode, SysLocaleMessage::getMsg)
//        ));
//        return RpcResult.success(localeMsgMap);
//    }

    public void executeSql(String sql);
}

